/* highlight.js 代码高亮样式 - 基于 GitHub 主题并适配应用 */

.hljs {
    display: block;
    overflow-x: auto;
    padding: 0.5em;
    color: #333;
    background: #f8f8f8;
}

/* 确保语法高亮不会影响文本选择 */
.hljs,
.hljs * {
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    -ms-user-select: text !important;
    user-select: text !important;
    /* 确保span元素不会阻断文本选择 */
    pointer-events: none;
}

/* 恢复容器的pointer-events，只对内容span禁用 */
.hljs {
    pointer-events: auto;
}

/* 确保所有highlight.js的span元素都支持连续选择 */
.hljs span {
    display: inline !important;
    white-space: inherit !important;
    /* 确保文本选择可以跨越多个span */
    -webkit-touch-callout: text;
    -webkit-user-drag: none;
}

.hljs-comment,
.hljs-quote {
    color: #998;
    font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
    color: #333;
    font-weight: bold;
}

.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
    color: #008080;
}

.hljs-string,
.hljs-doctag {
    color: #d14;
}

.hljs-title,
.hljs-section,
.hljs-selector-id {
    color: #900;
    font-weight: bold;
}

.hljs-subst {
    font-weight: normal;
}

.hljs-type,
.hljs-class .hljs-title {
    color: #458;
    font-weight: bold;
}

.hljs-tag,
.hljs-name,
.hljs-attribute {
    color: #000080;
    font-weight: normal;
}

.hljs-regexp,
.hljs-link {
    color: #009926;
}

.hljs-symbol,
.hljs-bullet {
    color: #990073;
}

.hljs-built_in,
.hljs-builtin-name {
    color: #0086b3;
}

.hljs-meta {
    color: #999;
    font-weight: bold;
}

.hljs-deletion {
    background: #fdd;
}

.hljs-addition {
    background: #dfd;
}

.hljs-emphasis {
    font-style: italic;
}

.hljs-strong {
    font-weight: bold;
}

/* 暗色模式支持 */
@media (prefers-color-scheme: dark) {
    .hljs {
        color: #f8f8f2;
        background: #2d3748;
    }

    .hljs-comment,
    .hljs-quote {
        color: #6272a4;
    }

    .hljs-keyword,
    .hljs-selector-tag,
    .hljs-subst {
        color: #ff79c6;
    }

    .hljs-number,
    .hljs-literal,
    .hljs-variable,
    .hljs-template-variable,
    .hljs-tag .hljs-attr {
        color: #bd93f9;
    }

    .hljs-string,
    .hljs-doctag {
        color: #f1fa8c;
    }

    .hljs-title,
    .hljs-section,
    .hljs-selector-id {
        color: #50fa7b;
    }

    .hljs-type,
    .hljs-class .hljs-title {
        color: #8be9fd;
    }

    .hljs-tag,
    .hljs-name,
    .hljs-attribute {
        color: #ff79c6;
    }

    .hljs-regexp,
    .hljs-link {
        color: #f1fa8c;
    }

    .hljs-symbol,
    .hljs-bullet {
        color: #bd93f9;
    }

    .hljs-built_in,
    .hljs-builtin-name {
        color: #8be9fd;
    }

    .hljs-meta {
        color: #6272a4;
    }
}